#include<bits/stdc++.h>
using namespace std;
#define all(x) (x).begin(),(x).end()
#define rall(x) (x).rbegin(),(x).rend()
const int N=2e3+10;
#define INF 0x3f3f3f3f;
typedef long long int ll;
#define close(); std::ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);
//----------------------------------------------------------------------------//
void solve(){
    
    vector<int>v;
    int n;cin>>n;
    for(int i=0;i<n;i++) {
        int x;cin>>x;v.push_back(x);
    }
    int ans[n+1];
    for(int i=n;i>=1;i--){
        auto it=find(v.begin(),v.end(),i);
        cout<<it-v.begin()+1<<'\n';
        ans[i-1]=(it-v.begin()+1)%i;
        rotate(v.begin(),it,v.end());
        v.erase(v.begin());
    }
    for(int i=0;i<n;i++){
        cout<<ans[i]<<" ";
    }
    cout<<endl;
}

int main()
{
	close();
	int T; cin>>T;
	while (T--) solve();
	return 0;
}
//前n-1次操作都影响n的变化